package com.bsj.power.common.def.dto.media;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * @Description 视频回放请求参数
 * @Author zhaoyang
 * @Date 2023/6/19 12:01
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BackVodParam extends IssuedCommand{

    /**
     * 逻辑通道号
     */
    @NotNull(message = "逻辑通道号不能为空")
    private Integer channelNo;

    /**
     * 数据类型 0:音视频，1:音频，2:视频，3:视频或音视频
     */
    @NotNull(message = "数据类型不能为空")
    private Integer dataType;

    /**
     * 码流类型 0:主码流,1:子码流
     */
    @NotNull(message = "码流类型不能为空")
    private Integer streamType;

    /**
     * 存储类型 0:主存储器或灾备存储器,1:主存储器,2:灾备存储器
     */
    @NotNull(message = "存储类型不能为空")
    private Integer storeType;

    /**
     * 回放方式
     * 0:正常回放；
     * 1:快进回放；
     * 2:关键帧快退回放；
     * 3:关键帧播放；
     * 4:单t贞上传
     */
    @NotNull(message = "回放方式不能为空")
    private Integer backType;

    /**
     * 快进或快退倍数
     * 回放方式为1和2时，此字段内容有效，否则置0。
     * 0:无效；
     * 1:1 倍；
     * 2:2倍
     * 3:4倍；
     * 4:8倍；
     * 5:16倍
     */
    @NotNull(message = "快进或快退倍数不能为空")
    private Integer speed;

    /**
     * 开始时间 yy-MM-dd HH:mm:ss
     */
    @NotNull(message = "开始时间不能为空")
    private String startTime;

    /**
     * 结束时间 yy-MM-dd HH:mm:ss
     */
    @NotNull(message = "结束时间不能为空")
    private String endTime;
    /**
     * 回放开始时间
     */
    private String startDate;
    /**
     * 回放结束时间
     */
    private String endDate;
    /**
     * 回放操作端口号
     */
    private Integer port;

}
